package com.example.leetcode.c901_end.c922;
/**
 * 给定一个非负整数数组 A， A 中一半整数是奇数，一半整数是偶数。
 *
 * 对数组进行排序，以便当 A[i] 为奇数时，i 也是奇数；当 A[i] 为偶数时， i 也是偶数。
 *
 * 你可以返回任何满足上述条件的数组作为答案。
 *
 *  
 *
 * 示例：
 *
 * 输入：[4,2,5,7]
 * 输出：[4,5,2,7]
 * 解释：[4,7,2,5]，[2,5,4,7]，[2,7,4,5] 也会被接受。
 *  
 *
 * 提示：
 *
 * 2 <= A.length <= 20000
 * A.length % 2 == 0
 * 0 <= A[i] <= 1000
 *  
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/sort-array-by-parity-ii
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */

import java.util.Arrays;

/**
 * 按奇偶排序数组 II
 * @author zhanpengguo
 * @date 2020-11-12 8:11
 */
public class Solution {

    public int[] sortArrayByParityII(int[] A) {
        int len = A.length;
        int[] res = new int[len];
        int ou = 0;
        int ji = 1;
        for (int j : A) {
            if (j % 2 == 0) {
                res[ou] = j;
                ou += 2;
            } else {
                res[ji] = j;
                ji += 2;
            }
        }
        return res;
    }

    public static void main(String[] args) {
        Solution solution = new Solution();
        int[] ints = solution.sortArrayByParityII(new int[]{4});
        System.out.println(Arrays.toString(ints));
    }
}
